package com.parking.order.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 吴彦祖
 * @since 2023年11月28日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_info")
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单信息Id
     * */
    @TableId(value = "order_info_id", type = IdType.AUTO)
    private Integer orderInfoId;

    /**
     * 用户信息Id
     */
    @TableField("user_info_id")
    private Integer userInfoId;

    /**
     * 物业信息Id
     */
    @TableField("certified_info_id")
    private Integer certifiedInfoId;

    /**
     * 物业名称
     */
    @TableField("certified_info_name")
    private String certifiedInfoName;

    /**
     * 物业电话
     */
    @TableField("certified_info_tel")
    private String certifiedInfoTel;

    /**
     * 物业地址
     */
    @TableField("certified_info_address")
    private String certifiedInfoAddress;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 持续小时
     */
    @TableField("endu_hour")
    private Integer enduHour;

    /**
     * 订单价格
     */
    @TableField("order_price")
    private BigDecimal orderPrice;

    /**
     * 订单状态 0待支付 1已支付 2可开始 3已开始 4需结束 5已结束 6已取消
     */
    @TableField("order_info_state")
    private Integer orderInfoState;

    /**
     * 订单超时状态 0未超时 1超时
     */
    @TableField("is_overtime")
    private Integer isOvertime;

    /**
     * 订单评论状态 0未评论 1已评论
     */
    @TableField("is_comment")
    private Integer isComment;

    /**
     * 下单时间
     */
    @TableField("order_add_time")
    private LocalDateTime orderAddTime;

    /**
     * 支付时间
     */
    @TableField("order_pay_time")
    private LocalDateTime orderPayTime;

    /**
     * 最新修改时间
     */
    @TableField("order_update_time")
    private LocalDateTime orderUpdateTime;

    /**
     * 订单编号
     */
    @TableField("order_info_num")
    private String orderInfoNum;

    /**
     * 车位类型 0普通车位 1充电车位
     */
    @TableField("stall_type")
    private String stallType;

    /**
     * 车位信息id
     */
    @TableField("stall_info_id")
    private Integer stallInfoId;

    /**
     * 车位号 = stallInfoArea(车位区域) + stallInfoNum(车位编号)
     */
    @TableField("stall_info")
    private String stallInfo;

    /**
     * 车牌号
     */
    @TableField("user_car_plate")
    private String userCarPlate;

    /**
     * 用户车辆Id
     */
    @TableField("user_car_id")
    private Integer userCarId;
    /**
     * 是否自动取消 0非自动取消 1自动取消
     * */
    @TableField("is_auto_cancel")
    private Integer isAutoCancel;
    /**
     * 评分分数 Good Bad OK
     * */
    @TableField("comment_score")
    private String commentScore;

    /**
     * 无参构造函数
     * */
    public OrderInfo() {
    }
}
